Increasingly information technology (IT) service providers are offering services that make computing resources of their IT infrastructures available for use by remote clients over a suitable network. Such an approach is frequently referred to as cloud computing.
The computing resources that such cloud computing systems provide to clients may include both computing hardware and computer software resources, of both a physical and virtual nature. Cloud computing systems thereby enable clients to have access to computing resources, but without having the burden of having to manage, maintain, house, and pay for a large computing infrastructure. Furthermore, cloud computing systems generally enable the amount of computing resources provided to the client to be scalable based on the actual computing resources required by the client at any one time.
The computing resources, which may include resources such as computing hardware, software applications, storage equipment, network equipment, etc., used to provide a cloud computing system are typically housed in a service provider data center. Data centers are generally operated using a high level of automation. Such automation may include, for example, the use of virtualization techniques, archiving techniques, security techniques, redundancy techniques, and so on. Data center automation is generally performed in accordance with data center management guidelines defined by the data center operator.
When a client contracts with a service provider to use computing resources in a cloud computing system a service level agreement (SLA) is typically defined which details the computing resources requested as well as the agreed quality of service (QoS) to be provided by those computing resources. The service provider is thereafter contractually bound by the defined SLA.
Typically, a cloud computing service provider providers cloud computing resources to multiple clients, each of which may have their own individual SLAs, each of which may define a different QoS agreement.